
Thread.sleep与定时器
因此,在我的研究中,我发现使用计时器执行指令并执行指令,然后使线程进入休眠状态的主要区别。Thread.sleep与定时器遵守以下代码public class StkFlow { public void event(ActionEvent e){ //do some stuff } public static void main (String [] args){ Timer tick=new Timer (200, event); tick.start...
2024-01-10
Java-替代thread.sleep
我需要将while循环暂停特定的毫秒数。我尝试使用Thread.sleep(duration),但是它不准确,尤其是在循环场景中。毫秒精度在我的程序中很重要。这是我不希望在expectedElapsedTime通过之前检查条件的算法。while (condition) { time = System.currentTimeMillis(); //do something if (elapsedTime(time) < expectedElapsedTime) ) { ...
2024-01-10
为什么Thread.sleep不好用
对这个重复的问题表示歉意,但是我还没有找到满意的答案。大多数问题都有自己的特定用例:Java- 替代thread.sleep在Java中,是否有任何更好的替代方法来跳过/避免使用Thread.sleep(1000)?我的问题是针对非常通用的用例。等待条件完成。做一些操作。检查条件。如果条件不成立,请等待一段时间,然...
2024-01-10
Thread.Sleep少于1毫秒
我想在不到1毫秒的时间内调用线程睡眠。我读到,thread.SleepWindows-OS 都不支持。有什么解决方案?对于所有想知道为什么我需要这样做的人:我正在进行压力测试,并且想知道我的模块每秒可以处理多少条消息。所以我的代码是: // Set the relative part of Second hat will be allocated for each message //For example: 5 ...
2024-01-10
Thread.Sleep()的替代方法
每隔N分钟,我们要运行一个任务列表。因此,我们创建了一个带有do { DoWork(); }while(!stopRequested)现在我们希望在工作周期之间有一个停顿。每个人似乎都认为Thread.Sleep()是魔鬼。我曾经提到过使用Monitor /Event的东西,但是我们没有其他人告诉我们要做工作。我们只想每隔N分钟做一次类似发条的工作...
2024-01-10
为什么Thread.Sleep如此有害
我经常看到它提到Thread.Sleep();不应使用,但我不明白为什么会这样。如果Thread.Sleep();会引起麻烦,是否有其他相同结果的替代解决方案是安全的?例如。while(true){ doSomework(); i++; Thread.Sleep(5000);}另一个是:while (true){ string[] images = Directory.GetFiles(@"C:\Dir", "*.png"); foreach (string image in ...
2024-01-10
select()之后read()会阻塞吗?
我正在通过TCP /IP套接字读取数据流。流负载非常不均匀。有时每秒会有大量数据到达,有时一个小时没有数据到达。在长时间不活动的情况下(远程服务器没有数据,但连接仍然在线),我的程序应采取一些措施。我正在使用select()实现超时。它告诉我是否已经准备好数据,但是我不知道在不引起r...
2024-01-10
为什么我需要处理Thread.sleep()的异常?
要编译此代码,我可以:将我的通话Thread.sleep()置于try / catch块中,或已经printAll()声明它可以抛出一个InterruptedException。为什么我必须这样做?class Test { public static void main( String[] args ) { printAll( args ); } public static void printAll( String[] line ) { System.ou...
2024-01-10
Java使用Thread.sleep(x)或wait()时出现异常
我试图延迟-或使我的Java程序进入睡眠状态,但是发生错误。我无法使用Thread.sleep(x)或wait()。出现相同的错误消息:未报告的异常java.lang.InterruptedException; 必须被抓住或宣布被抛出。使用Thread.sleep() or wait()方法之前,是否需要任何步骤?回答:你前面有很多阅读材料。从编译器错误到异常处理,线程...
2024-01-10
Thread.sleep()是否会使UI线程进入睡眠状态?
这会使当前的UI线程休眠吗?try { Thread.sleep(20); onProgressUpdate(i);} catch (InterruptedException e) { e.printStackTrace();}回答:如果要在ui线程上调用sleep,它将阻塞ui线程。不要在ui线程上调用sleep。您不应该阻止ui线程。http://developer.android.com/reference/java/lang/Thread.htmlhttp://docs.oracl...
2024-01-10
C#中的Thread.Sleep(1)有什么影响?
在Windows窗体应用程序中,Thread.Sleep(1)如以下代码所示,调用的影响是什么:public Constructor(){ Thread thread = new Thread(Task); thread.IsBackground = true; thread.Start();}private void Task(){ while (true) { // do something Thread.Sleep(1); }}该线程会占...
2024-01-10
什么时候使用Thread.Sleep()是明智的?
我总是看到人们使用它Thread.Sleep()来造成处理延迟或类似的事情,人们总是为使用这种方式而感到嘲笑。什么时候明智/需要使用Thread.Sleep()?回答:Thread.sleep()当您确实需要延迟后台线程时,应该致电。不要调用它来帮助同步(不会),不要在循环中调用它来等待某些东西(这会很慢),也不要在UI线...
2024-01-10
比较使用Thread.Sleep和Timer延迟执行
我有一个方法,应该在指定的时间内延迟运行。我应该使用Thread thread = new Thread(() => { Thread.Sleep(millisecond); action();});thread.IsBackground = true;thread.Start();要么Timer timer = new Timer(o => action(), null, millisecond, -1);我读过一些有关使用不良设计的文章Thread.Sleep。但是我真的不明白为什么。但是对...
2024-01-10
NetBeans / Java /新提示:Thread.sleep在循环中调用
在NetBeans中,有一个新提示: 循环睡眠的时间/时间是什么时候? 如果有问题,我该怎么办?这是一些代码。在这种情况下,请告诉我是否应该在循环中使用其他方法代替Thread.Sleep。简而言之,它由侦听客户端TCP连接的服务器使用。如果达到与客户端的最大会话数,则在此处使用睡眠。在这种情况下...
2024-01-10
Thread.Sleep(TimeSpan)有多准确?
我遇到了一个单元测试,该测试间歇性地失败了,因为经过的时间不是我期望的那样。该测试的示例如下:Stopwatch stopwatch = new Stopwatch();stopwatch.Start();TimeSpan oneSecond = new TimeSpan(0, 0, 1);for(int i=0; i<3; i++){ Thread.Sleep(oneSecond);}stopwatch.Stop();Assert.GreaterOrEqual(stopwatch.ElapsedMi...
2024-01-10
Java:为什么Thread.sleep()和yield()是静态的?
为什么sleep()和yield()方法在中定义为static方法java.lang.Thread class?回答:该代码仅在执行时someXThread执行,在这种情况下,告诉someYThreadyield将毫无意义。如此以来,只有线程调用价值yield上是当前线程,它们使该方法static这样你就不会浪费时间去打电话yield的其他线程。...
2024-01-10
什么时候使用Task.Delay,什么时候使用Thread.Sleep?
对于何时使用Task.Delay和Thread.Sleep是否有好的规则?具体来说,是否存在一个最小值才能使一个方法比另一个方法有效/有效?最后,由于Task.Delay导致在异步/等待状态机上进行上下文切换,因此使用它会产生开销吗?回答:使用Thread.Sleep时要阻止当前线程。使用Task.Delay时,你想不阻塞当前线程的逻...
2024-01-10
如何永久删除Threads账户?
希望彻底摆脱线程帐户。这是永久删除线程帐户的详细指南。Meta 的 Threads 应用程序采用与 Twitter 类似的格式,被广泛认为是埃隆·马斯克 (Elon Musk) 最重要的竞争对手,最近出人意料地发布了该应用程序。但并不是每个人都同意使用 Threads 应用程序。在本文中,我们将讨论如何永久删除 Threads 帐户。那么,让我们开始使用该指南。注意:如果不删除关联的 Ins...
2024-03-02
在没有引用的情况下,新的Thread()将被垃圾回收
在下面的示例中,new Thread()没有任何引用。可能是被废弃的垃圾收集了吗?同样,在不扩展Thread类或实现可运行的情况下,我们如何创建线程?public class TestFive { private int x; public void foo() { int current = x; x = current + 1; } public void go() { for(int i = 0; i < 5; ...
2024-01-10
Tomcat ThreadPool无法正常工作
我正在尝试使用不同配置的Tomcat。启用执行人配置在service.xml中如下Tomcat ThreadPool无法正常工作<!--The connectors can use a shared executor, you can define one or more named thread pools--> <Executor name="tomcatThreadPool" namePrefix="catalina-exec-" maxQueueSize="1" daemon="false" ...
2024-01-10
是否可以像中止线程(Thread.Abort方法)一样中止任务?
我们可以中止这样的线程:Thread thread = new Thread(SomeMethod);...thread.Abort();但是我可以通过取消机制以相同的方式中止任务(在.Net 4.0中)。 回答:您不应该使用Thread.Abort()任务可以被取消,但不能中止。 的Thread.Abort的()方法是(严重)弃用。线程和任务在停止时均应配合使用,否则可能会...
2024-01-10
如何随时暂停pthread?
最近,我开始将ucos-ii移植到Ubuntu PC。众所周知,在ucos-ii中无法通过在pthread的回调函数中的“while”循环中添加一个标记来执行暂停和恢复来模拟“进程”,以执行暂停和恢复操作(类似于下面的解决方案)。因为ucos-ii中的“进程”可以随时暂停或恢复!我在下面的网站上找到了一种解决方案,但是...
2024-01-10
我如何等待任何/所有pthread完成?
我只希望我的主线程在退出之前等待我所有的(p)线程完成。线程来回移动的原因很多,我真的不想跟踪所有线程-我只想知道线程什么时候消失了。wait()对子进程执行此操作,在没有子进程时返回ECHILD,但是wait(似乎不与(p)个线程一起工作)。我真的不想麻烦保留每个未完成线程的列表(随...
2024-01-10
对于pthread,如何从主线程中杀死子线程
我使用pthread_create创建几个子线程。一次,主线程要杀死所有子线程,否则将出现段故障。我应该使用哪个功能来完成此操作?我从谷歌搜索答案,并得到了类似pthread_kill的功能。但是我不知道应该向子线程发送哪个信号来杀死它们。我的运行环境是RHEL5.4,编程语言是C。回答:可以使用来“取消”线...
2024-01-10
如何从任意pthread_t获取线程ID?
我有一个pthread_t,我想更改它的CPU关联性。问题是我使用的是glibc2.3.2,它没有pthread_setaffinity_np()。没关系,因为pthread_setaffinity_np()本身是sched_setaffinity()的包装,可以通过传递线程ID而不是进程ID来调用它来设置任意线程的亲和力。 …sched_setaffinity可以使用的线程ID是OS线程ID,您可以从gettid(...
2024-01-10
如何防止pthread中的读写锁定中的写入者饥饿
我对* nix系统上的POSIX Pthreads中的读写锁定有一些疑问,例如Linux。我想知道读写锁定的默认偏差是什么,即,它优先于读取而不是写入,反之亦然?它是否提供一些api来更改此默认行为。posixpthread是否提供一些api,以便我们可以更改pthread_rwlock_t来防止作者饥饿?从我所阅读的内容(如果我错了,请纠...
2024-01-10
为什么在pthread_cond_wait之前需要条件检查
我正在尝试学习pthread_cond_wait的基础知识。在所有用法中,我都可以看到if(cond is false) pthread_cond_wait要么while(cond is false) pthread_cond_wait我的问题是,我们只想cond_wait因为条件为假。那我为什么要忍受明确地放置一个if / while循环的痛苦。我可以理解,在不进行任何if /while检查的情况下,cond_wait我...
2024-01-10
在不同c文件中的pthread中访问全局变量
我有一个main.c,其全局变量名为intcountboards。在main()中,我启动一个pthread,它侦听一个TCP连接并通过(progserver.c)运行该线程。意味着,该线程将永远不会返回。在main()中,输入rmmain(...)rm.c(RM=资源管理器)中的函数。在rm.c中,我countboards在pthread的progserver.c中读取了此变量的内容(两者均可通...
2024-01-10
如何打印pthread_t
搜索过,但没有找到满意的答案。我知道没有可移植的方式来打印pthread_t。您如何在您的应用程序中做到这一点?实际上,我不需要pthread_t,但是需要一些小的数字ID,以便在调试消息中标识不同的线程。在我的系统(64位RHEL 5.3)上,它被定义为unsigned long int,因此它的数量很大,仅打印它就在调试...
2024-01-10
是否存在无效的pthread_t ID?
我想为给定的线程ID调用pthread_join,但前提是该线程已经启动。安全的解决方案可能是添加一个变量以跟踪哪个线程在何处启动。但是,我想知道是否可以检查pthread_t变量,类似于以下代码。pthread_t thr1 = some_invalid_value; //0 ?pthread_t thr2 = some_invalid_value;/* thread 1 and 2 are strated or not depending on various condition...
2024-01-10
如何在Linux C程序中获取pthread的线程ID?
在Linux C程序中,如何打印pthread库创建的线程的线程ID?例如:我们可以通过getpid()回答:pthread_self() 函数将给出当前线程的线程ID。pthread_t pthread_self(void);该pthread_self()函数返回调用线程的Pthread句柄。pthread_self()函数不会返回调用线程的整数线程。您必须使用pthread_getthreadid_np()返回该线程的整数标...
2024-01-10
